% 首先，我们引入一个 clpq 的库来帮助我们进行运算符描述
:- use_module(library(clpq)).

% 然后，我们定义事实：脑袋的总数量(H) 应当等于 鸡的总数量(C) 加上 兔子的总数量(R)
head(C,R,H) :- {H = C + R}.

% 然后，我们定义事实：脚的总数量(F) 应当等于 鸡的总数量(C)乘以二 加上 兔子的总数量(R)乘以四
foot(C,R,F) :- {F = C*2 + R*4}.

#swipl chicken-and-rabbits.prolog

#?- head(C,R,35),foot(C,R,94).
#C = 23,
#R = 12.